Data communication networks may include various computers, servers, nodes, routers, switches, bridges, hubs, proxies, and other network devices coupled to and configured to pass data to one another. These devices will be referred to herein as “network elements.” Data is communicated through the data communication network by passing protocol data units, such as Internet Protocol packets, Ethernet frames, data cells, segments, or other logical associations of bits/bytes of data, between the network elements by utilizing one or more communication links between the network elements. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
The various network elements on the communication network communicate with each other using predefined sets of rules, referred to herein as protocols. Different protocols are used to govern different aspects of the communication, such as how signals should be formed for transmission between network elements, various aspects of what the protocol data units should look like, how protocol data units should be handled or routed through the network by the network elements, and how information associated with routing information should be exchanged between the network elements.
The Institute of Electrical and Electronics Engineers (IEEE) defines a suite of Ethernet protocols. Conventionally, Ethernet has been used to implement networks in enterprises such as businesses and campuses, and other technologies have been used to transport network traffic over longer distances. Many extensions to the original standard have been proposed, such as 802.1Q, 802.1ad, and 802.1ah, which allow additional fields to be added to the basic Ethernet frame. As the Ethernet standard has evolved, Ethernet has become more viable as a long distance transport technology.
The original Ethernet standard and most of the extensions, such as 802.1D, 802.1Q, 802.1ad, and 802.1ah, all use a spanning tree in the control plane to determine which links should be active and which should be blocked to prevent the formation of loops. Other standards, such as 802.1Qay implement traffic engineered paths through the network which are explicitly defined routes through the network. Still other extensions to the original standard implement a link state protocol to control how Ethernet frames are forwarded through the network. One goal of all these control protocols is to select links to be used to forward traffic, and block other links, to prevent the formation of loops on the network.
Network nodes may be logically or physically arranged many different ways. One common way to arrange or interconnect network elements is to interconnect them in a ring, for example as shown in FIG. 1. In the example shown in FIG. 1, the ring 10 includes nodes 12, which are interconnected by links 14. In the example shown in FIG. 1, each node has a pair of 802.3 MAC interfaces 16 and an 802.1 bridge relay 18. The bridge relay may use any one of the various Ethernet standards or extensions mentioned above. A control entity 20 is used to allow the network elements to exchange routing information and other control information, and is used by the network element to control how the data plane handles the data on the network. For example, in a network implementing a spanning tree, the control entity would control which ports of the Ethernet node were active and which were blocked.
One common network topology is to interconnect network elements in a physical or logical ring. A ring will also be referred to herein as a closed loop. An advantage of implementing the network as a closed loop is that traffic may be forwarded in either direction around the closed loop. This allows rapid protection switching to occur upon failure of a node or link on the ring.
Although ring networks have this advantage, when the network used to implement the closed loop is based on one of the Ethernet standards, the control protocol being used to control forwarding on the closed loop must control forwarding on the ring to prevent a loop from being formed in the network. Specifically, when a loop is formed on an Ethernet network the traffic may propagate endlessly around the loop since each Ethernet node will continue to bridge the traffic endlessly around the closed loop.
As mentioned above, many of the Ethernet networks use a spanning tree to control which links on the network are active and which are not. Although spanning tree may be used to control a network of Ethernet nodes forming a closed loop, spanning tree is a generalized control protocol that was developed to be used in a multiply connected network such as a mesh network. Thus, it would be advantageous to have a new control protocol that is more optimized to be used in connection with a set of Ethernet nodes interconnected to form one or more closed loops.